home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / eulisp / feel0_89.lha / Feel / Src / error.h < prev    next >
C/C++ Source or Header  |  1993-04-27  |  1KB  |  47 lines

  1. /* ******************************************************************** */
  2. /*  error.h          Copyright (C) Codemist and University of Bath 1989 */
  3. /*                                                                      */
  4. /* Error and Signal handling                                            */
  5. /* ******************************************************************** */
  6.  
  7. /*
  8.  * Change Log:
  9.  *   Version 1, April 1989
  10.  */
  11.  
  12.  
  13. #ifndef ERROR_H
  14. #define ERROR_H
  15.  
  16. #ifndef SETJMP_H
  17. #define SETJMP_H
  18. #include <setjmp.h>
  19. #endif
  20.  
  21. #define is_condition(op) (EUCALL_2(Fn_subclassp,classof(op),Default_Condition)!=nil)
  22.  
  23. LispObject CallError(LispObject *, char *, LispObject, int);
  24. void signal_message(LispObject *,int,char *,LispObject);
  25. void signal_heap_failure(LispObject *, int);
  26.  
  27. extern LispObject function_default_handler;
  28. /* condition representation */
  29.  
  30. #define condition_message(x) (slotref((x),0))
  31. #define condition_error_value(x) (slotref((x),1))
  32.  
  33.  
  34. /* The conditions, used as index into table */
  35.  
  36. #define INTERNAL_ERROR            (0)
  37.  
  38. #define CLOCK_TICK            (1)
  39.  
  40. #define HEAP_EXHAUSTED                  (2)
  41.  
  42. #define Reader_CallError(sp,msg,val,foo) \
  43.   (ON_collect(), CallError(sp,msg,val,foo))
  44.  
  45. #endif /* ERROR_H */
  46. /* end of error.h */
  47.